#pragma once
#include <map>
#include <functional>
#include "logmessage.hpp"
namespace zty
{
    class Task
    {
    public:
        // typedef void (*func_t)(int, sockaddr_in);
        // typedef std::function<void(int, sockaddr_in)> func_t;
        using func_t = std::function<void(int, sockaddr_in)>;

        func_t _func;
        int _sockfd;
        sockaddr_in _client;

        Task() = default;
        Task(func_t func, int sockfd, const sockaddr_in &client)
            : _func(func),
              _sockfd(sockfd),
              _client(client)
        {
        }

        int operator()()
        {
            _func(_sockfd, _client);
        }
    };

}